package com.smallstep.hystrix.enums;


public enum HystrixKeyEnum {
    //
    FF_CLIENT_SOCKET_TIMEOUT("ff.client.socketTimeout", "10000"),
    FF_CLIENT_MAX_TOTAL("ff.client.maxTotal", "1000"),
    FF_CLIENT_MAX_PER_ROUTE("ff.client.maxPerRoute", "500"),
    FF_HYSTRIX_CLIENT_ENABLED("ff.hystrix.client.enabled", "true"),
    FF_CLIENT_CONNECT_TIMEOUT("ff.client.connectTimeout", "30000"),
    FF_HYSTRIX_CLIENT_FALLBACK_IGNORE_HTTPSTATUS("ff.hystrix.client.fallback.ignore.httpStatus", ""),
    FF_HYSTRIX_CLIENT_LOG_FAILED_EXECUTION_ENABLED("ff.hystrix.client.log.failedExecution.enabled", "true"),
    FF_HYSTRIX_CLIENT_LOG_TIMEOUT_ENABLED("ff.hystrix.client.log.timeout.enabled", "false"),
    FF_HYSTRIX_CLIENT_LOG_SHORT_CIRCUIT_ENABLED("ff.hystrix.client.log.shortCircuit.enabled", "false"),
    FF_HYSTRIX_CLIENT_LOG_REJECTION_ENABLED("ff.hystrix.client.log.rejection.enabled", "false");

    private final String key;
    private final String defaultValue;

    private HystrixKeyEnum(String key, String defaultValue) {
        this.key = key;
        this.defaultValue = defaultValue;
    }

    public String getKey() {
        return this.key;
    }

    public String getDefaultValue() {
        if (this.defaultValue != null) {
            return this.defaultValue;
        } else {
            return "";
        }
    }
}
